package br.com.pizzaria.controller;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import br.com.pizzaria.model.Produto;

@SuppressWarnings({"unchecked","rawtypes"})
@ManagedBean(name="beanProduto")
@SessionScoped
public class ProdutoBean implements IMetodos{
	
		Produto produto = null;
		
		public ProdutoBean(){
			produto = new Produto(); 
		}
		
		public Produto getProduto() {
			return produto;
		}

		public void setCategoria(Produto produto) {
			this.produto = produto;
		}		

		@Override
		public boolean inserir() {
			DaoHelper dao = new DaoHelper(produto);			
			return dao.inserir();
		}

		@Override
		public boolean alterar() {
			DaoHelper dao = new DaoHelper(produto);			
			return dao.alterar();
		}

		@Override
		public boolean excluir() {
			DaoHelper dao = new DaoHelper(produto);			
			return dao.excluir();
		}
		
		@Override
		public List<Produto> getListar() {
				
			DaoHelper dao = new DaoHelper(produto);
			
			List<Produto> lista = new ArrayList<Produto>();
			List<Produto> listaRetorno = new ArrayList<Produto>();
			
			lista = dao.getListar();
			
			for (Produto prod : lista) {
				Produto nLista = new Produto();
			   		nLista.setCodigo(prod.getCodigo());
					nLista.setCategoria(prod.getCategoria());
					nLista.setUnidade(prod.getUnidade());
					nLista.setDescricao(prod.getDescricao());
					nLista.setValor_unitario(prod.getValor_unitario());
					nLista.setImg_produto(prod.getImg_produto());
					nLista.setQtd_atual(prod.getQtd_atual());
					nLista.setQtd_max(prod.getQtd_max());
					nLista.setAtivo(prod.isAtivo());
					nLista.setDtcad(prod.getDtcad());
					listaRetorno.add(nLista);
				}
			return listaRetorno;
		}
}
